package control;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.swing.JOptionPane;

public class Cont_conexao {
	
//=========================================================================================
//	VARIÁVEIS GLOBAIS
//=========================================================================================

//=========================================================================================
//	MÉTODO PARA RECUPERAR UMA CONEXÃO COM O BANCO DE DADOS 
//=========================================================================================
    
	public EntityManager Conectar() {
	
		EntityManagerFactory fabrica = Persistence.createEntityManagerFactory("slspdv");
		EntityManager gerenciador = fabrica.createEntityManager();
		return gerenciador;
		
	}//CONECTAR
        
//=========================================================================================
//	MÉTODO PARA SALVAR UM OBJETO NO BANCO DE DADOS 
//=========================================================================================
	
	public void Persistir(EntityManager gerenciador,Object objeto) {
                 
		try{
			gerenciador.getTransaction().begin();
			gerenciador.persist(objeto);
			gerenciador.getTransaction().commit();
		}catch(Exception ex){
			JOptionPane.showMessageDialog(null,"Erro ao salvar. \n"+
				"Erro: "+ex.getMessage(), "Mensagem de erro.", JOptionPane.ERROR_MESSAGE);
		}//TRY CATCH
                
        }//SALVAR

//=========================================================================================
//	MÉTODO PARA ENCERRAR A CONEXÃO COM O BANCO DE DADOS 
//=========================================================================================
	
	public void Fechar(EntityManager gerenciador) {

		try{//TRATAMENTO DE ERRO
			gerenciador.close();
		}catch(Exception ex){
			JOptionPane.showMessageDialog(null, "Erro ao encerrar a conexão com o banco de dados.\n"+
				"Erro: "+ex.getMessage(), "Mensagem de erro", JOptionPane.ERROR_MESSAGE);
		}//TRY CATCH

	}//FECHAR
	
}//CLASS
